<html>
<head><meta charset="utf-8"><title>Lazy impl bodies · t-compiler/rust-analyzer · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/index.html">t-compiler/rust-analyzer</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html">Lazy impl bodies</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="189790627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790627">(Mar 05 2020 at 13:28)</a>:</h4>
<p><span class="user-mention" data-user-id="129457">@Florian Diebold</span> are you around? I have a question about our handing of impls. Currently, we load both impl headers and items at the same time, I want to defer loading of times</p>



<a name="189790658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790658">(Mar 05 2020 at 13:28)</a>:</h4>
<p>But I am recolling that, during type inference, we do things like "given a method name, find all methods with this name, and look up their traits"</p>



<a name="189790691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790691">(Mar 05 2020 at 13:29)</a>:</h4>
<p>Do you know what exactly I am remembering? :-) I <em>think</em> I've seen this "method name -&gt; impl" code somewhere in rustc...</p>



<a name="189790719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790719">(Mar 05 2020 at 13:29)</a>:</h4>
<p>The reason I am asking is that, if we need this operation, than lazy-loading of impl bodies won't work :-(</p>



<a name="189790896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790896">(Mar 05 2020 at 13:31)</a>:</h4>
<p>well, for traits, we just go through all traits in scope and check whether they have a given method name. But for traits we don't need to look at impl bodies at all</p>



<a name="189790965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790965">(Mar 05 2020 at 13:32)</a>:</h4>
<p>for inherent methods, we get all inherent impls that might match our receiver type and go through them to find a method with the given name</p>



<a name="189790966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189790966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189790966">(Mar 05 2020 at 13:32)</a>:</h4>
<p>Ahhh, right</p>



<a name="189791069"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189791069" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189791069">(Mar 05 2020 at 13:33)</a>:</h4>
<p>Right, up front we need to know methods of <strong>traits</strong> and <strong>inherent</strong> impls.... This is sad</p>



<a name="189791160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189791160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189791160">(Mar 05 2020 at 13:34)</a>:</h4>
<p>well, we don't need to know the inherent impl methods upfront, only when we have a method call on a type that matches the impl ;)</p>



<a name="189791362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189791362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189791362">(Mar 05 2020 at 13:37)</a>:</h4>
<p>Yeah, there's still might be significant wins here... I'll try to split <code>ImplData</code> into <code>ImplHeader</code> and <code>ImplItems = Vec&lt;AssocItemId&gt;</code> and see how it goes</p>



<a name="189793103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189793103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189793103">(Mar 05 2020 at 13:54)</a>:</h4>
<p>Hm, switching to ImpHeader is actually trivial, but, for some reason,  it doesn't bring perf benefits I hoped for...</p>



<a name="189795009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189795009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189795009">(Mar 05 2020 at 14:14)</a>:</h4>
<p><span aria-label="sad" class="emoji emoji-2639" role="img" title="sad">:sad:</span> so further investigation shows that this is not "we parse bodies", but actually "we parse at all". Just increasing LRU capacity makes stuff much faster</p>



<a name="189797074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189797074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189797074">(Mar 05 2020 at 14:34)</a>:</h4>
<p>so... the problem is that we parse multiple times because we query the different things that lower from AST at different times? so it might be better to just put raw items and impl data into the same query?</p>



<a name="189797870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189797870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189797870">(Mar 05 2020 at 14:42)</a>:</h4>
<p>yeah, this is exactly what I am thinking about... </p>
<p>Basically, we merge all various <code>x_data</code> and <code>raw_items</code> query into a single query which takes a file and produces an "ast" of items. </p>
<p>For <code>crate_def_map</code> query, we additionally project this ast to include only names, visibilities, and children for module and enums.</p>



<a name="189798007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189798007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189798007">(Mar 05 2020 at 14:43)</a>:</h4>
<p>We also call this thing "FileStub", because at this stage it becomes exactly the StubIndex from IntelliJ</p>



<a name="189798048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189798048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189798048">(Mar 05 2020 at 14:43)</a>:</h4>
<p>It is also unclear how exactly does it square with expressions in types...</p>



<a name="189798946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189798946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189798946">(Mar 05 2020 at 14:53)</a>:</h4>
<p>And it's also unclear if this <em>should</em> be a win?</p>
<p>Like, right now we don't construct <code>StructData</code>s for various internal items at all. Why is it so hard to not compute things twice, but at the same to promptly forget and drop most of the freshly computed things?</p>



<a name="189801949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189801949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189801949">(Mar 05 2020 at 15:21)</a>:</h4>
<p>... is that a rhetorical question? <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="189802117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189802117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189802117">(Mar 05 2020 at 15:23)</a>:</h4>
<p>Yeah...</p>



<a name="189802469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189802469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189802469">(Mar 05 2020 at 15:27)</a>:</h4>
<p>all in all I'd guess if we go through the AST anyway, collecting <code>StructData</code>s etc. shouldn't be much overhead, and they don't take much memory either, I hope</p>



<a name="189807572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189807572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189807572">(Mar 05 2020 at 16:13)</a>:</h4>
<p>Did a small experiment only for impls: <a href="https://github.com/rust-analyzer/rust-analyzer/pull/3477" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/pull/3477">https://github.com/rust-analyzer/rust-analyzer/pull/3477</a></p>



<a name="189807700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189807700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189807700">(Mar 05 2020 at 16:14)</a>:</h4>
<p>It is measurably faster, although it still does a ton of parsing: when we constuct <code>impls_in_trait</code>, we look at the generics at the <em>target</em> of the impl, and that still does parsin</p>



<a name="189808762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189808762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189808762">(Mar 05 2020 at 16:24)</a>:</h4>
<p>measurable = 30%</p>
<p>I guess we need to refactor out all our Data's <span aria-label="weary" class="emoji emoji-1f629" role="img" title="weary">:weary:</span></p>



<a name="189809713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189809713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189809713">(Mar 05 2020 at 16:32)</a>:</h4>
<p>Re parsing, I recall we parse a lot and spend a surprising amount of time hashing syntax nodes. There's a fixme in rowan about it.</p>



<a name="189880234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189880234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189880234">(Mar 06 2020 at 10:43)</a>:</h4>
<p>Opened <a href="https://github.com/rust-analyzer/rust-analyzer/issues/3485" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/issues/3485">https://github.com/rust-analyzer/rust-analyzer/issues/3485</a>. Would be interested in feedback</p>



<a name="189881012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189881012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> std::Veetaha <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189881012">(Mar 06 2020 at 10:55)</a>:</h4>
<p>What do you mean by stubs?</p>



<a name="189885601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189885601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189885601">(Mar 06 2020 at 12:05)</a>:</h4>
<p><a href="https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs.html" target="_blank" title="https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs.html">https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs.html</a></p>



<a name="189885606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/189885606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#189885606">(Mar 06 2020 at 12:05)</a>:</h4>
<p><a href="https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs/stub_indexes.html" target="_blank" title="https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs/stub_indexes.html">https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs/stub_indexes.html</a></p>



<a name="191762892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/191762892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#191762892">(Mar 25 2020 at 15:26)</a>:</h4>
<p>Starting drafting the stubs thing at <a href="https://github.com/rust-analyzer/rust-analyzer/pull/3720" title="https://github.com/rust-analyzer/rust-analyzer/pull/3720">https://github.com/rust-analyzer/rust-analyzer/pull/3720</a></p>



<a name="191767400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/191767400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> std::Veetaha <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#191767400">(Mar 25 2020 at 15:51)</a>:</h4>
<p>Okay, thats one more level of IR...</p>



<a name="191769038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/191769038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> std::Veetaha <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#191769038">(Mar 25 2020 at 15:59)</a>:</h4>
<p>I wonder what the implications for memory consumption will be.</p>



<a name="191779818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/Lazy%20impl%20bodies/near/191779818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/Lazy.20impl.20bodies.html#191779818">(Mar 25 2020 at 17:08)</a>:</h4>
<p><span class="user-mention silent" data-user-id="258149">std::Veetaha</span> <a href="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Lazy.20impl.20bodies/near/191769038" title="#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Lazy.20impl.20bodies/near/191769038">said</a>:</p>
<blockquote>
<p>I wonder what the implications for memory consumption will be.</p>
</blockquote>
<p>You say <del>tomato</del> IR, I say let's dump this into SQLite/LSIF :-)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>